package main

import "fmt"

/**
4种变量的声明方式
*/
//声明全局变量，方式1 方式2 方式3 可以
var (
	ga int  = 100
	gb int8 = 200
)

func main() {
	//方式1 声明一个变量，默认的值int是0
	var a int
	fmt.Println(a)

	//方式2 声明变量并给初始化

	var b int = 100
	fmt.Println("b=", b)

	//方式3 声明时省去数据类型
	var c = 100
	fmt.Println("c=", c)

	//数据类型
	fmt.Printf("type of a=%T\n", a)
	fmt.Printf("type of b=%T\n", b)
	fmt.Printf("type of c=%T\n", c)
	fmt.Printf("type of str=%T\n", "str")

	//方式4 常用方式，省去var，通过值自动匹配|只能用在函数体中，这种方式不可声明全局变量
	e := 100
	fmt.Printf("type of e=%T\n", e)
	fmt.Printf("type of 3.13=%T\n", 3.13)

	//多变量声明
	var xx, yy = 100, 200
	fmt.Println(xx, yy)

}
